module.exports = {
  app: {
    aside: {
      nav: {
        start: 'Development',
        install: 'Install',
        global: 'Global props',
        use: 'Quick start',
        icons: 'Custom icon',
        theme: 'Custom theme',
        i18n: 'Internationalization',

        icon: 'Icon',
        basics: 'Basic',
        base: 'Basics table',
        size: 'Size',
        ellipsis: 'Ellipsis',
        width: 'Column width',
        stripe: 'Striped',
        border: 'Border',
        style: 'Cell style',
        dynamicStyle: 'Cell dynamic style',
        scrollStyle: 'Scrollbar style',
        hideHead: 'Hidden header',
        resizable: 'Resizable',
        fluidHeight: 'Maximum table height',
        resize: 'Resize height and width',
        height: 'Table with fixed header',
        visible: 'Whether the column is visible',
        fixed: 'Table with fixed column',
        fullFixed: 'Table with fixed columns and header ',
        group: 'Grouping table head',
        seq: 'Table sequence',
        headerHighlight: 'Highlight column',
        current: 'Highlight row',
        radio: 'Radio',
        checkbox: 'Checkbox',
        sort: 'Sorting',
        filter: 'Filter',
        empty: 'Empty data',
        loading: 'Loading',
        format: 'Format content',
        html: 'HTML tag',
        data: 'Data and fields',

        more: 'More',
        events: 'Event',
        template: 'Template',
        dynamic: 'Use v-for dynamic implementation',
        sortIcon: 'Custom sort icon',
        customSort: 'Implement column header sort',
        manualFilter: 'Filtering advanced usage',
        filterIcon: 'Custom filter icon',
        span: 'Rowspan and colspan',
        spanRow: 'More complex merge rows',
        footer: 'Footer summary',
        footerSpan: 'Footer rowspan and colspan',
        import: 'Import data',
        export: 'Export data',
        print: 'Print',
        fixedType: 'Fixed type + import/export',
        contextMenu: 'Context menu',
        menuPrivilege: 'Context menu + permission',
        footerImmediately: 'Footer summary + immediately',
        expandRow: 'Expandable row',
        expandRowIcon: 'Expandable row + custom icon',
        expandRowLazy: 'Expandable row + lazy loading',
        accordion: 'Accordion expandable',
        toolbar: 'Toolbar',
        customs: 'Show/hide column',
        customStorage: 'Show/hide column + localStorage',
        customlWidthStorage: 'Show/hide & column width + localStorage',
        search: 'Table search',
        details: 'Popup displays details',
        popupEdit: 'Popup form edit',
        pager: 'Pager',
        pageIcon: 'Pagination + custom icon',
        rangeSelect: 'The range of the checkbox is checked',
        tabs: 'Switch tabs',
        keepAlives: 'Switch keep-alive',

        grid: 'Advanced table',
        reverse: 'Reverse table',
        proxy: 'Data proxy',
        proxyPage: 'Data proxy + Pager',
        formProxy: 'Data proxy + Form',
        configProxy: 'Strongest function',
        fullQuery: 'Full query',
        customToolbar: 'Custom toolbar',
        toolbarIcon: 'Custom toolbar button icon',
        fullscreen: 'Full screen zoom',
        dynamicColumn: 'Configurable dynamic columns',
        baseTree: 'Basics tree',
        lazyTree: 'Lazy loading tree',
        treeLazyEdit: 'Lazy loading tree + editable',
        crudTreeToolbar: 'Tree + Toolbar',

        tree: 'Tree table',
        treeNormal: 'Normal tree',
        customIcon: 'Custom icon',
        expandTreeLazy: 'Tree expansion line lazy load',
        treeSearch: 'Deep to search',
        treeSort: 'Deep sort',
        groupSummary: 'Group summary',
        groupSummaryCount: 'Group summary total',
        edit: 'Editable',
        crudToolbar: 'CRUD + Toolbar',
        lazy: 'Lazy loading',
        lazyMenu: 'Lazy loading + contextmenu',
        lazyEdit: 'Lazy loading + editable',
        treeLine: 'Nodal line',
        full: 'Full demo',

        virtualTree: 'Virtual tree table',

        scroll: 'Big table',
        bigData: 'Virtual Scroller',
        scrollRows: '100,000 rows',
        scrollFullRows: '100,000 rows + Complex render',
        scrollCols: '10,000 columns, 100,000 rows',
        scrollFullCols: '10,000 columns, 100,000 rows + Complex render',
        moveHighlight: 'Keyboard move highlight row',
        scrollTree: 'Virtual tree',
        bigTree: 'Implementation of virtual tree',
        pageScroll: 'Scroll to page',
        infiniteScroll: 'The infinite scroll',
        partialLoad: 'Partial load',
        fullPartialLoad: 'Full partial load',

        editable: 'Editable',
        popupForm: 'Popup edit',
        manual: 'Manual trigger',
        click: 'Click trigger',
        dblclick: 'dblclick trigger',
        selectContent: 'Select the content',
        autoClear: 'Auto clear',
        insert: 'Insert',
        delete: 'Delete',
        revert: 'Revert',
        status: 'Update',
        cellDisable: 'Disable edit cell',
        rowDisable: 'Disable edit row',
        cellValid: 'Validate call',
        rowValid: 'Validate row',
        forceCellValid: 'Validate cell + lock',
        forceRowValid: 'Validate row + lock',
        highlightCell: 'Highlighting the editor',
        keyboard: 'Keyboard navigation',
        keyboardEdit: 'Keyboard navigation + Override the default edit behavior',
        dataCount: 'Data count',
        uniqueSelect: 'Unique select option',
        cascadingSelect: 'Cascading select options',
        realtimeSave: 'Realtime save',
        upload: 'File upload',

        excel: '更多实现',
        cell: 'Cell',

        bad: 'Bad usage',

        module: 'Modules',
        button: 'Button',
        input: 'Input',
        select: 'Select',
        modal: 'Modal',
        tooltip: 'Tooltip',
        form: 'Form',

        other: 'Using third-party libraries',
        elementRender: 'element-ui -> Custom Templates',
        iviewRender: 'iview -> Custom Templates',
        antd: 'ant-design-vue -> Custom Templates',
        elementUpload: 'element-ui -> Uploader',
        sortablejsRow: 'sortablejs -> Row drag',
        sortablejsColumn: 'sortablejs -> column moving',
        xlsxRender: 'xlsx -> Import and export',

        plugin: 'Extension plug-in library',
        elementPlugin: 'plugin-element Basic config',
        elementFilterPlugin: 'plugin-element Filter config',
        elementPluginMore: 'plugin-element More config',
        iviewPlugin: 'plugin-iview Basic config',
        iviewFilter: 'plugin-iview Filter config',
        iviewPluginMore: 'plugin-iview More config',
        antdPlugin: 'plugin-antd Basic config',
        antdFilter: 'plugin-antd Filter config',
        antdPluginMore: 'plugin-antd More config',
        spanPlugin: 'Select merge cells',
        shortcutKeyPlugin: 'plugin-shortcut-key Shortcut key Settings',
        chartsPlugin: 'plugin-charts Chart tools',
        exportXLSXPlugin: 'plugin-export The export xlsx',
        exportPDFPlugin: 'plugin-export The export pdf',
        rendererPlugin: 'plugin-renderer More renderer',
        menusPlugin: 'plugin-menus Context menus',
        excelPlugin: 'plugin-excel A simple excel',

        formats: '(Global) Formatter',
        commands: '(Global) Command register',
        menus: '(Global) Context menu',

        renderer: '(Advanced) Renderer',
        rendererFilter: 'Filter renderer',
        rendererDefault: 'Cell renderer',
        rendererEdit: 'Edit renderer',
        rendererToolbar: 'Toolbar renderer',
        rendererForm: 'Form renderer',
        rendererEmpty: 'Empty renderer',

        interceptor: '(Advanced) Event interceptor',

        optimize: 'Optimization and suggestion',
        optimizeScroller: '虚拟滚动优化',
        optimizeEdit: '可编辑优化',

        api: 'API',
        vxeTable: 'vxe-table',
        vxeTableColumn: 'vxe-table-column',
        vxeGrid: 'vxe-grid',
        vxeVirtualTree: 'vxe-virtual-tree',
        vxeExcel: 'vxe-excel',
        vxeToolbar: 'vxe-toolbar',
        vxePager: 'vxe-pager',
        vxeRadio: 'vxe-radio',
        vxeCheckbox: 'vxe-checkbox',
        vxeInput: 'vxe-input',
        vxeTextarea: 'vxe-textarea',
        vxeSelect: 'vxe-select',
        vxeOptgroup: 'vxe-optgroup',
        vxeOption: 'vxe-option',
        vxeButton: 'vxe-button',
        vxeTooltip: 'vxe-tooltip',
        vxeModal: 'vxe-modal',
        vxeForm: 'vxe-form',
        vxeFormItem: 'vxe-form-item'
      }
    },
    body: {
      button: {
        viewCode: 'View code',
        runDemo: 'Run demo',
        showCode: 'Show demo',
        refresh: 'Refresh',
        insert: 'Insert',
        save: 'Save',
        markCancel: 'Mark/Cancel',
        deleteSelectedRecords: 'Delete selected records'
      },
      label: {
        copy: 'Copy',
        cut: 'Cut and paste',
        paste: 'Paste',
        delete: 'Delete',
        sort: 'Sort',
        filter: 'Filter',
        translations: 'Translations',
        version: 'Version',
        name: 'Name',
        age: 'Age',
        sex: 'Sex',
        search: 'Search',
        reset: 'Reset',
        createTime: 'Create Date',
        updateTime: 'Update Date',
        stableVersion: 'Stable',
        latestVersion: 'Latest'
      },
      valid: {
        rName: 'The name of the required.'
      },
      msg: {
        error: 'Error message',
        copyToClipboard: 'Copied to clipboard'
      },
      other: {
        newFunc: 'Since the author is busy, there may be time to support this function later!',
        newDevelopment: 'Due to the author\'s busy schedule, this release is being refactored. Stay tuned!'
      },
      search: {
        searchPlaceholder: 'Document search',
        noDataPrefix: 'No results related to "',
        noDataSuffix: '" can be found!'
      }
    },
    footer: {
      donation: 'Donation',
      donationDesc: 'To make the project sustainable, you can support the author through sponsorship 😊'
    },
    api: {
      apiSearch: 'API Search',
      title: {
        prop: 'Attribute',
        desc: 'Description',
        type: 'Type / Return type',
        enum: 'Accepted Values',
        defVal: 'Default / Arguments',
        version: 'Compatibility',
        props: 'Table Attributes',
        events: 'Table events',
        slots: 'Table slots',
        methods: 'Table methods'
      },
      table: {
        desc: {
          data: 'Table data(note that updating data does not reset the status)',
          columns: 'Column configuration',
          customs: 'For reading column configuration, same effect as calling getColumns method manually, if you want to show hidden columns directly by modifying the visible property of the column (deprecated apis are not recommended)',
          height: 'Table height, supports adaptive or fixed width and height(if you set adaptive, you must ensure that parent nodes exist and no adjacent elements are allowed)',
          maxHeight: 'Maximum height of the table',
          syncResize: 'Automatically resizing a property following a property change has the same effect as calling the recalculate method manually (this may be used in scenarios where a property is used to control the show/hide toggle)',
          autoResize: 'Auto listen parent element response resize (may be used in scenarios where parent element may be dynamically changing)',
          resizable: 'Resizable',
          stripe: 'Whether with zebra stripes(note that in the editable table scenario, the temporarily inserted data will not have a zebra-like pattern)',
          border: 'Whether there is a border (if true, horizontal border, vertical border and external border are displayed; if false, horizontal border and external border are displayed; if "none", horizontal border is displayed)',
          size: 'Table size',
          fit: 'Whether the width of all columns is self-supporting(do not use parameters that may be discarded)',
          loading: 'Whether the table is loaded',
          align: 'All columns on its way',
          headerAlign: 'Alignment of all header columns',
          footerAlign: 'Alignment of all footer columns',
          showHeader: 'Whether to display the header',
          startIndex: 'Obsolete, please use "seq-config.startIndex"',
          highlightCurrentRow: 'Whether to highlight the current row',
          highlightHoverRow: 'Mouse over a row to highlight',
          highlightCurrentColumn: 'Whether to highlight the current column',
          highlightHoverColumn: 'Mouse over whether to highlight a column',
          highlightCell: 'Only valid for edit-config configuration, whether to highlight cell borders during editing',
          rowClassName: 'Append a className to the row, It could be a function, Function({row, rowIndex, $rowIndex})',
          cellClassName: 'Append a className to the cell, It could be a function, Function({row, rowIndex, $rowIndex, column, columnIndex, $columnIndex})',
          headerRowClassName: 'Append a className to the row in the header, It could be a function, Function({$rowIndex})',
          headerCellClassName: 'Append a className to the cell in the header, It could be a function, Function({$rowIndex, column, columnIndex, $columnIndex})',
          footerRowClassName: 'Append a className to the row in the footer, It could be a function, Function({$rowIndex})',
          footerCellClassName: 'Append a className to the cell in the footer, It could be a function, Function({$rowIndex, column, columnIndex, $columnIndex})',
          cellStyle: 'Append styles to cells, which can also be function, Function({$rowIndex, column, columnIndex, $columnIndex})',
          headerCellStyle: 'Append styles to header cells, which can also be function, Function({$rowIndex, column, columnIndex, $columnIndex})',
          footerCellStyle: 'A table footer cell is attached to a style, or it can be a function, Function({$rowIndex, column, columnIndex, $columnIndex})',
          rowStyle: 'Attach styles to rows, which can also be function, Function({$rowIndex, column, columnIndex, $columnIndex})',
          headerRowStyle: 'Append styles to header rows, which can also be function, Function({$rowIndex, column, columnIndex, $columnIndex})',
          footerRowStyle: 'Attach a style to the end of a table, or a function, Function({$rowIndex, column, columnIndex, $columnIndex})',
          showFooter: 'Whether to display table end totals',
          footerMethod: 'Table footer summation calculation method, Function({columns, data})',
          spanMethod: 'Merge rows or columns, Function({row, rowIndex, $rowIndex, column, columnIndex, $columnIndex, data})',
          footerSpanMethod: 'Footer merge rows or columns, Function({$rowIndex, column, columnIndex, $columnIndex, data})',
          showOverflow: 'Sets all content to appear as ellipses if it is too long',
          showHeaderOverflow: 'Sets the header to show ellipsis when all content is too long',
          showAllOverflow: 'It is about to be abandoned, please use "show-overflow"',
          showHeaderAllOverflow: 'It is about to be abandoned, please use "show-header-overflow"',
          showFooterOverflow: 'Sets the footer to show ellipsis when all content is too long',
          sortMethod: 'It is about to be abandoned, please use "sort-config.sortMethod"',
          remoteSort: 'It is about to be abandoned, please use "sort-config.remote"',
          remoteFilter: 'It is about to be abandoned, please use "filter-config.remote"',
          columnWidth: 'Width of all columns',
          columnMinWidth: 'All minimum column widths; The remaining space is automatically proportioned',
          columnKey: 'Whether the key attribute needs to be set for each column VNode (not required for non-exceptional cases)',
          rowKey: 'Do you need to set the key attribute for VNode on each row (not necessary for non-exceptional cases)',
          rowId: 'Field names for custom row data unique primary keys (row data must have a unique primary key, automatically generated by default)',
          keepSource: 'Maintain the state of the original data, depending on certain functions, such as edit state, restore data, etc. (performance plummets after turn on, depending on the amount of data)',
          zIndex: 'Custom style z-index (may be used for special situations, such as occlusion)',
          seqConfig: 'Sequence number configuration',
          sortConfig: 'Sort configuration',
          filterConfig: 'Filter configuration',
          radioConfig: 'Radio configuration',
          exportConfig: 'Export configuration',
          importConfig: 'Import configuration',
          printConfig: 'Print configuration',
          selectConfig: 'Obsolete, please use "checkbox-config"',
          checkboxConfig: 'Checkbox configuration',
          tooltipConfig: 'tooltip configuration',
          expandConfig: 'Expand the row configuration',
          treeConfig: 'Tree configuration',
          contextMenu: 'context menu configuration',
          mouseConfig: 'Mouse configuration',
          keyboardConfig: 'Keyboard configuration',
          editConfig: 'Editable configuration',
          validConfig: 'Validate configuration',
          editRules: 'Checksum rule configuration entries',
          emptyRender: 'Empty content renderer config',
          optimization: 'Optimize configuration',

          params: 'Additional parameters (Can be used to store some private parameters)',

          empty: 'Text content displayed when empty data',

          currentChange: 'Only valid for highlightCurrentRow, the event that fires when the row is manually selected and the value changes',
          radioChange: 'Only works for type=radio, the event that is triggered when the value is manually checked and changed',
          selectChange: 'Obsolete, please use "checkbox-change"',
          checkboxChange: 'Only valid for type=checkbox, events that are triggered when checked manually and the value changes',
          selectAll: 'Obsolete, please use "checkbox-all"',
          checkboxAll: 'Only valid for type=checkbox, events that are triggered when all is checked manually',
          cellClick: 'This event is triggered when the cell is click',
          cellDblclick: 'This event is triggered when a cell is dblclick',
          cellContextmenu: 'This event is triggered when the cell is contextmenu',
          headerCellClick: 'This event is triggered when the header cell is click',
          headerCellDblclick: 'This event is triggered when a header cell is dblclick',
          headerCellContextmenu: 'This event is triggered when the header cell is contextmenu',
          footerCellClick: 'This event is triggered when a header cell is click',
          footerCellDblclick: 'This event is triggered when a cell at the end of a table is dblclick',
          footerCellContextmenu: 'This event is triggered when the footer cell is contextmenu',
          cellMouseenter: 'This event is fired when the cell mouseenter',
          cellMouseleave: 'This event is fired when the cell mouseleave',
          sortChange: 'This event is triggered when the sort condition changes',
          filterChange: 'This event is triggered when a filter condition changes',
          resizableChange: 'This event is triggered when the column width is dragged to change',
          toggleExpandChange: 'This event is triggered when a row is expanded or collapsed',
          toggleTreeChange: 'This event is triggered when the tree node is expanded or collapsed',
          contextMenuClick: 'This event is only valid for context-menu configuration and is triggered when the shortcut menu is clicked',
          editClosed: 'This event is triggered when the cell edit state is turned off',
          editActived: 'This event is triggered when the cell is activated for editing',
          editDisabled: 'This event is triggered if the cell is disabled when activated',
          validError: 'This event is triggered when data validation does not pass',
          scroll: 'This event is triggered when the table scrolls'
        }
      },
      tableColumn: {
        desc: {
          type: 'The type of the column',
          index: 'Obsolete, please use "seq"',
          seq: 'Sequence number',
          selection: 'Obsolete, please use "checkbox"',
          checkbox: 'Checkbox',
          radio: 'Radio',
          expand: 'Expansion',
          html: 'HTML tag(Rendering arbitrary HTML dynamically is very dangerous and can easily lead to XSS attacks, so make sure the content is trusted)',
          visible: 'Whether the column is displayed',
          prop: 'Obsolete, please use "field"',
          field: 'Column field',
          label: 'Obsolete, please use "title"',
          title: 'Column title (support internationalization)',
          width: 'Column width (adaptive if empty, if all columns are fixed, there may be a wide screen and not full, can match "%" or "min-width" layout)',
          minWidth: 'Minimum height of the column,The remaining space is automatically allocated proportionally',
          resizable: 'Whether column resizing allows dragging column widths',
          fixed: 'Fix the column to the left or right (note: fixed columns should be left and right)',
          align: 'Column on its way',
          headerAlign: 'Alignment of header columns',
          footerAlign: 'Alignment of footer columns',
          showOverflow: 'Appears as an ellipsis when the content is too long',
          showHeaderOverflow: 'Appears as an ellipsis when the header content is too long',
          showFooterOverflow: 'Appears as an ellipsis when the footer content is too long',
          className: 'Append a className to the cell, It could be a function, Function({row, rowIndex, $rowIndex, column, columnIndex, $columnIndex})',
          headerClassName: 'Append a className to the cell in the header, It could be a function, Function({$rowIndex, column, columnIndex, $columnIndex})',
          footerClassName: 'Append a className to the cell in the footer, It could be a function, Function({$rowIndex, column, columnIndex, $columnIndex})',
          formatter: 'Format display content, Function({cellValue, row, column})',
          indexMethod: 'Only valid for type=index, custom index method, Function({row, rowIndex, column, columnIndex})',
          sortable: 'Whether column sorting is allowed',
          sortBy: 'Only valid for sortable, custom sort attributes',
          sortMethod: 'Custom sort method, Array.sort(a, b)',
          remoteSort: 'Whether to use remote sorting',
          filters: 'Configure filter conditions(note: filtering can only be used for lists, if it is a tree, filter the root node)',
          filterMultiple: 'Works only for filters, filtering whether multiple selections are allowed',
          filterMethod: 'Works only for filters, custom filtering methods, Function({value, row, column})',
          filterRender: 'Filter renderer config',
          treeNode: 'Only valid for tree-config configuration, specified as the tree node',
          columnKey: 'Obsolete, please use "table.column-key"',
          cellRender: 'Default renderer config',
          editRender: 'Edit renderer config',
          params: 'Additional parameters (Can be used to store some private parameters)'
        }
      },
      tooltip: {
        desc: {
          value: 'Whether or not shown',
          content: 'Content',
          trigger: 'trigger type',
          theme: 'The theme style',
          size: 'Size',
          zIndex: 'Custom style z-index (may be used for special situations, such as occlusion)',
          isArrow: 'Show arrow or not',
          enterable: 'Whether the mouse can go into tooltip',
          leaveDelay: 'How much delay to hide tooltip after mouse move'
        }
      },
      grid: {
        desc: {
          formConfig: 'Form config',
          toolbar: 'Toolbar config',
          pagerConfig: 'Pager config',
          proxyConfig: 'Data proxy config(based on the Promise API)',
          toolbarRender: 'Toolbar renderer config'
        }
      },
      toolbar: {
        desc: {
          id: 'Unique ID identification',
          size: 'Size',
          loading: 'Loading',
          import: 'Import button config("import-config" needs to be set)',
          export: 'Export button config("export-config" needs to be set)',
          refresh: 'Refresh button config',
          resizable: 'Column width drag config("id" needs to be set)',
          setting: 'Obsolete, please use "custom"',
          custom: 'Custom column config("id" needs to be set)'
        }
      },
      pager: {
        desc: {
          size: 'Size',
          loading: 'Loading',
          layouts: 'Custom layouts',
          currentPage: 'Current page',
          pageSize: 'Page size',
          total: 'Total number',
          pagerCount: 'Displays the number of page number buttons',
          pageSizes: 'List of options for page size',
          align: 'On the way',
          border: 'Show border',
          background: 'Show background color',
          perfect: 'Default style',
          iconPrevPage: 'Custom the previous page icon',
          iconJumpPrev: 'Custom jump previous page icon',
          iconJumpNext: 'Custom jump next page icon',
          iconNextPage: 'Custom the next page icon',
          iconJumpMore: 'Custom jump more icon'
        }
      },
      radio: {
        desc: {
          value: 'Binding value',
          label: 'value',
          size: 'Size',
          disabled: 'Whether to disable',
          name: 'Native name attribute'
        }
      },
      checkbox: {
        desc: {
          value: 'Binding values',
          size: 'Size',
          disabled: 'Whether to disable',
          label: 'For checkbox-group only, value',
          title: 'Title',
          indeterminate: 'Whether there is an indeterminate state'
        }
      },
      input: {
        desc: {
          value: 'Binding values',
          size: 'Size',
          disabled: 'Whether to disable',
          prefixIcon: 'Prefix icon',
          suffixIcon: 'Suffix icon'
        }
      },
      button: {
        desc: {
          content: 'Content (support internationalization)',
          type: 'Type',
          size: 'Size',
          name: 'To identify this item',
          status: 'Status',
          disabled: 'Whether to disable',
          loading: 'Loading or not'
        }
      },
      modal: {
        desc: {
          value: 'Binding values',
          loading: 'Loading or not',
          id: 'Set a unique id (may be used in scenarios such as Message preventing repeated pop-ups or Storage drag state saving)',
          title: 'Message title (support internationalization)',
          type: 'Message type',
          status: 'Only valid for type=alert | confirm | message, message status',
          iconStatus: '自定义状态图标',
          message: 'message content',
          showHeader: 'Whether to display the head',
          showFooter: 'Whether to show bottom',
          lockView: 'Whether or not the page is locked does not allow any action outside the modal',
          lockScroll: 'Whether the scroll bar is locked and does not allow page scrolling',
          mask: 'Whether to display the mask layer',
          maskClosable: 'Click the mask layer to close the modal',
          escClosable: 'Whether Esc key is allowed to close the modal',
          resize: 'Allow drag to resize modal window',
          duration: 'Only valid for type=message, auto-closed delay',
          size: 'Size',
          width: 'The width of the modal window',
          height: 'The height of the modal window',
          minWidth: 'The minimum width of the modal window',
          minHeight: 'The minimum height of the modal window',
          top: 'Valid only for type=message, message from top',
          zIndex: 'Custom style z-index (may be used for special situations, such as occlusion)',
          showTitleOverflow: 'Set the title content to appear as an ellipsis when it is too long',
          fullscreen: 'Default maximized display',
          dblclickZoom: 'It is only valid for type=modal. Is it allowed to enlarge or restore the window by double-clicking the head',
          remember: 'The memory function will remember the last operation state and restore the window state when the window is opened again',
          destroyOnClose: 'Destroy the content when the window closes',
          storage: 'If localStorage is enabled, the state dragged by the window will be saved locally (the id needs to be set)'
        }
      },
      form: {
        desc: {
          loading: 'Loading or not',
          data: 'Form data',
          span: 'The number of columns occupied by the grid of all items(24 columns)',
          align: 'All content align',
          size: 'Size',
          titleAlign: 'All title align',
          titleWidth: 'All title width',
          titleColon: 'Whether to display the title colon',
          rules: 'Checksum rule configuration entries'
        }
      },
      formItem: {
        desc: {
          field: 'Field name ',
          title: 'Title',
          span: 'The number of columns a grid occupies(24 columns)',
          align: 'Content align',
          titleAlign: 'Title align',
          titleWidth: 'Title width',
          folding: 'Default folding',
          visibleMethod: 'The return value of this method Function({data, property}) determines whether the item is displayed',
          collapseNode: 'Collapse node',
          titlePrefix: 'Title prefix config',
          titleSuffix: 'Title suffix config',
          resetValue: 'The default value when reset',
          itemRender: 'Form item renderer config'
        }
      },
      select: {
        desc: {
          value: 'Binding values',
          size: 'Size',
          placeholder: 'Placeholder for null value empty',
          clearable: 'Whether to display the clear button on the right when there is a value',
          disabled: 'Whether to disable',
          prefixIcon: 'Prefix icon',
          placement: 'Fix the direction of the display drop - down panel',
          transfer: 'Whether to insert the popup container into the body'
        }
      },
      selectGroup: {
        desc: {
          disabled: 'Whether to disable'
        }
      },
      selectOption: {
        desc: {
          disabled: 'Whether to disable'
        }
      }
    }
  }
}
